package com.guozinhs.auto.core;

import lombok.Data;

/**
 * 状态节点
 *
 * @Author: GuoZi
 * @Date: 2022/1/8 21:11
 */
@Data
public class StateNode {

    /**
     * 节点id
     */
    private Long id;

    /**
     * 父级节点id
     */
    private Long parentId;

    /**
     * 在父级节点中的排序
     */
    private int sort;

    /**
     * 节点类型
     */
    private StateType stateType;

    /**
     * 应用名称
     */
    private String app;

    /**
     * 任务名称
     */
    private String plan;

    /**
     * 当前节点名称
     */
    private String name;

    /**
     * 是否循环处理当前节点, 直到不匹配
     */
    private Boolean isCycle;
    /**
     * 是否强制匹配, 匹配失败也会继续重试
     */
    private Boolean isForced;

    /**
     * 操作前后的等待延迟
     */
    private Long preDelay;
    private Long postDelay;

    /**
     * 操作脚本
     */
    private String script;

    /**
     * 图片匹配度
     */
    private Double matchPercent;

    /**
     * 前后置校验
     */
    private Boolean preCheckSkip;
    private Boolean postCheckSkip;

    /**
     * [根节点]窗口定位尺寸
     */
    private Long width = 1920L;
    private Long height = 1080L;
    /**
     * [根节点]窗口定位偏移
     */
    private Long offsetX;
    private Long offsetY;
    /**
     * [根节点]鼠标平滑移动
     */
    private Boolean smoothMove = false;
    /**
     * [根节点]平滑移动的速率(像素/秒)
     */
    private Integer smoothMoveSpeed = 1600;
    /**
     * [根节点]鼠标点击时随机偏移
     */
    private Boolean randomMove = false;
    /**
     * [根节点]偏移范围的半径
     */
    private Integer randomMoveRadius = 4;

}
